package com.kai.service.upload.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 分片上传-分片任务记录
 * </p>
 *
 * @author wjk
 * @since 2023-01-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class UploadTask extends Model<UploadTask> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 分片上传id
     */
    private String uploadId;

    /**
     * 文件唯一标识（MD5）
     */
    private String fileIdentifier;

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 所属桶名
     */
    private String bucketName;

    /**
     * 文件的key
     */
    private String objectKey;

    /**
     * 文件大小（byte）
     */
    private Long totalSize;

    /**
     * 每个分片大小（byte）
     */
    private Long chunkSize;

    /**
     * 分片数量
     */
    private Integer chunkNum;

    /**
     * 创建时间
     */
    private Date createDatetime;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
